package com.candy.service;

import com.candy.dao.DBDriver2;

import java.util.LinkedHashMap;
import java.util.LinkedList;

/**
 * 用户信息管理
 */
public class UserInfoService {
    /**
     * 获取全部用户信息
     * @param username 用户名
     * @return 根据用户输入条件进行搜索的用户信息
     */
    public LinkedList<LinkedHashMap<String,Object>> getUserInfoes(String username){
        //如果用户名不为空，则根据用户输入的信息进行查询
        if(username!=null &&username!=""){
           return DBDriver2.queru4ListMap("select * from userinfo where username like ?","%"+username+"%");
        }else{
//            如果为空则查询全部
           return DBDriver2.queru4ListMap("select * from userinfo");
        }
    }

    /**
     * 用户信息新增
     * @param username 用户名
     * @param userpwd 密码
     * @param useraddress 家庭住址
     * @param userTel 联系方式
     * @return 影响行数
     */
    public int addUserInfo(String username,String userpwd,String useraddress,String userTel){
        return DBDriver2.update("INSERT INTO userinfo(username,userpwd,useraddress,usertel) VALUES(?,?,?,?)",username,userpwd,useraddress,userTel);
    }

    /**
     * 根据用户id查询用户信息
     * @param userId 用户id
     * @return 包含了对应的id的用户信息
     */
    public LinkedList<LinkedHashMap<String,Object>> getUserInfoById(int userId){
        return DBDriver2.queru4ListMap("select * from userinfo where id=?",userId);
    }

    /**
     * 更新用户信息
     * @param username 用户名
     * @param userpwd 密码
     * @param useraddress 家庭住址
     * @param userTel 联系方式
     * @param userId 主键id
     * @return 影响行数
     */
    public int updateUserInfo(String username,String userpwd,String useraddress,String userTel,int userId){
        return DBDriver2.update("update userinfo set username=?,userpwd=?,useraddress=?,usertel=? where id=?",username,userpwd,useraddress,userTel,userId);
    }

    /**
     * 删除功能
     * @param userId 用户的主键id
     * @return 影响行数
     */
    public int deleteUserInfo(int userId){
        return DBDriver2.update("delete from userinfo where id=?",userId);
    }
}
